In order to transmit or record a moving image efficiently, there are used a moving image encoder for coding a moving image so as to generate coded data and a moving image decoder for decoding the coded data so as to generate a decoded image. Specific examples of a moving image coding method include H.264/MPEG-4 AVC (described in Non-patent Literature 1) and a method employed in KTA software which is a joint development codec in VCEG (Video Coding Expert Group).
In such a coding method, images (pictures) constituting a moving image are managed in a hierarchical structure constituted by (i) slices into which each of the images is divided, (ii) macroblocks into which each of the slices is divided, and (iii) blocks into which each of the macroblocks is divided. The encoding is carried out per block.
Further, in such a coding method, a predicted image is generally generated on the basis of a locally-decoded image obtained by coding/decoding an input image. Difference data between the predicted image and the input image is coded. Further, examples of a method of generating a predicted image include a method called “inter-frame prediction (inter prediction)” and a method called “intra-frame prediction (intra prediction)”.
In the intra prediction, predicted images in a frame are sequentially generated on the basis of a locally-decoded image in the frame. Specifically, the intra prediction is generally carried out in such a manner that one of prediction directions included in a predetermined prediction direction (prediction mode) group is selected for each of a plurality of prediction units (e.g., block), and a pixel value of a reference pixel in a locally-decoded image is extrapolated in the one of prediction directions thus selected, so that a prediction pixel value(s) on a prediction target region is generated. Furthermore, in the inter prediction, motion compensation employing a motion vector is applied to a reference image in a totally decoded reference frame (decoded image), so that a predicted image in a prediction target frame is generated for each of a plurality of prediction units (e.g. block).
Furthermore, recently, for the intra-prediction, various methods have been proposed as candidates for test models in order to carry out highly accurate prediction in accordance with properties of a local image (Non-patent Literature 2).
For example, Non-patent Literature 2 discloses intra-prediction methods such as ADI (Arbitrary Directional Intra), DC prediction, Angular Prediction, and Edge Based Prediction.
ADI includes a planar prediction and a directional prediction. Examples of the planar prediction include DC (Direct Current) prediction, Plane prediction, and Bi-linear prediction. For the directional prediction, directions such as a horizontal direction, a vertical direction, and other twenty eight directions are defined.
Furthermore, for the Angular Prediction, a DC prediction and directional predictions of thirty three directions are defined. For the Edge Based Prediction, a directional prediction that carries out estimation using a value of a neighbor pixel is defined.
A coding efficiency increases by selecting a suitable intra-prediction method (hereinafter merely referred to as prediction mode) in accordance with properties of a local image.
Furthermore, Non-patent Literature 3 has a description regarding ADI, similarly with Non-patent Literature 2. In particular, Non-patent Literature 3 describes increasing a coding efficiency by switching applicable prediction modes in accordance with a block size of a target block.